package 进阶阶段;

import java.util.ArrayList;
import java.util.Iterator;

public class demo07Iterator迭代器和增强for循环 {
    public static void main(String[] args) {
        //迭代器：主要用于迭代访问（即遍历）`Collection`中的元素
        //next():返回迭代的下一个元素(迭代器原理内置了一个指针,一开始在集合的外面,每调用一次next方法,指针向下移动一次,得到对应的元素)
        //hasNext():如果仍有元素可以迭代，则返回 true。

        ArrayList<String> arrayList = new ArrayList();
        arrayList.add("宋祖儿");
        arrayList.add("关晓彤");
        arrayList.add("徐娇");

        Iterator<String> iterator = arrayList.iterator();
        String a = iterator.next();
        System.out.println(a);//当next()取不到元素则报错

        System.out.println("-----------------------------------");

        while (iterator.hasNext()){
            String b = iterator.next();
            System.out.println(b);
        }

        System.out.println("-----------------------------------");

        //增强for循环：用于遍历Collection单列集合和数组。通常只进行遍历元素，不要在遍历的过程中对集合元素进行增删操作
        for (String c : arrayList) {
            System.out.println(c);
        }
    }
}
